package com.franklin.ideaplugin.maphelper.resolver.impl.collection;

import com.franklin.ideaplugin.api.utils.psi.PsiClassUtils;
import com.franklin.ideaplugin.maphelper.resolver.AbstractColMemberResolverFactory;
import com.franklin.ideaplugin.maphelper.resolver.impl.AbstractMethodCallExpressionColMemberResolver;
import com.franklin.ideaplugin.maphelper.resolver.impl.AbstractNewExpressionColMemberResolver;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiTypeParameter;

/**
 * @author Franklin
 * @since 2024/03/09 11:24
 */
public class CollectionMethodCallExpressionColMemberResolver extends AbstractMethodCallExpressionColMemberResolver implements ICollectionMemberResolver{

    public final static CollectionMethodCallExpressionColMemberResolver INSTANCE = new CollectionMethodCallExpressionColMemberResolver();

    @Override
    protected boolean isTargetClass(PsiClass psiClass) {
        return PsiClassUtils.isJavaCollectionClass(psiClass);
    }

    @Override
    protected AbstractNewExpressionColMemberResolver getNewExpressionColMemberResolver() {
        return CollectionNewExpressionColMemberResolver.INSTANCE;
    }

}
